﻿using System.Diagnostics.Contracts;
using Beaker.OpenCube.Render.Maths;

namespace Beaker.OpenCube.Render.Lighting
{
	public interface ILight
	{
		[Pure]
		Point3 Position { get; }
		[Pure]
		Color Color { get; }
		[Pure]
		double Radiance { get; }

		[Pure]
		Vector3 GetDirection( Intersection intersection );
		[Pure]
		Color GetColor( Intersection intersection );
	}
}
